<?php

/**
 * Description of mysql
 *
 * @author guillermo
 */
class Dbaccess {

    private $db; // Link

    public function __construct() {
        $this->connect();
    }

    private function connect() {
        $link = mysql_connect($GLOBALS['db_host'], $GLOBALS['db_user'], $GLOBALS['db_pass']) or die("Imposible acceder a la base de datos");
        $this->db = $link;
        mysql_set_charset('utf8', $this->db);
    }

    public function query($query,$paginate=false, &$pagination=null) {
        mysql_select_db($GLOBALS['db_name']) or die(mysql_error());
        if ($paginate != true) {
            $result = mysql_query($query);
        } else {
            //Sentencia sql (sin limit) 
            $_pagi_sql = $query;
            $_pagi_nav_num_enlaces = $GLOBALS['pagination_num_enlaces'];
            //cantidad de resultados por página (opcional, por defecto 20) 
            $_pagi_cuantos = $GLOBALS['pagination'];

            //Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente 
            include("paginator.inc.php");
            $pagination = $_pagi_navegacion."<br />".$_pagi_info; 
            $result = $_pagi_result;
        }
        return $result;
    }

    public function iterator($result) {
        $res = mysql_fetch_array($result);
        return $res;
    }

    public function exist($query) {
        $exist = false;
        $result = $this->query($query);
        while ($res = $this->iterator($result)) {
            $exist = true;
        }
        return $exist;
    }

    public function cont($result) {
        return mysql_num_rows($result);
    }

    public function last() {
        return mysql_insert_id($this->db);
    }

    public function rowsAffected() {
        return mysql_affected_rows($this->db);
    }

    public function escape($string) {
        return mysql_real_escape_string($string);
    }

    public function close() {
        mysql_close() or die(mysql_error());
    }

}

?>
